<!DOCTYPE html>
<html lang="zh">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>多态</title>
    <script>
        class Person{
            constructor(name){
                this.name=name
            }
            
        }

        class Cat{
            constructor(name){
                this.name=name
            }
        }
        class Test{
            
        }

        const p1=new Person('小李')
        const cat1=new Cat('朱丽叶')
        const t1=new Test()



        /* 
            定义一个函数，这个函数将接收一个对象作为参数，它可以输出hello!，并输出其name属性

            多态
                在JS中不会检查参数的类型，所以这就意味着任何数据都能作为参数传递。
                要调用某个函数时，无需指定类型，只要对象满足某些条件即可。
                多态为我们提供了灵活性
        
        */


       const fn1=(obj)=>{
            console.log('hello'+obj.name)
       }

       fn1(p1)
       fn1(t1)      //t1中没有name属性
    </script>
</head>
<body>
    
</body>
</html>